Skill

Web API তৈরি করা

Web Development - এএসপি ডট (ASP.Net) -
2
2

Web API হলো একটি ফ্রেমওয়ার্ক যা HTTP অনুরোধ (GET, POST, PUT, DELETE) ব্যবহার করে ডেটা অ্যাক্সেস এবং ম্যানিপুলেশন সাপোর্ট করে। ASP.Net Core এর মাধ্যমে আপনি খুব সহজেই Web API তৈরি করতে পারেন, যা ক্লায়েন্ট-সাইড অ্যাপ্লিকেশন বা অন্যান্য সার্ভিসের সাথে ইন্টারঅ্যাক্ট করার জন্য ডেটা প্রদান করে।


Web API তৈরি করার জন্য পদক্ষেপসমূহ

১. প্রজেক্ট তৈরি করা

ASP.Net Core Web API প্রজেক্ট তৈরি করতে, Visual Studio বা কমান্ড লাইন ব্যবহার করা যেতে পারে।

Visual Studio ব্যবহার করে:
  1. Visual Studio খুলুন এবং নতুন একটি প্রজেক্ট তৈরি করুন।
  2. ASP.Net Core Web Application টেমপ্লেট নির্বাচন করুন।
  3. API টেমপ্লেট নির্বাচন করুন এবং .NET 6 বা তার পরবর্তী সংস্করণ নির্বাচন করুন।
  4. প্রজেক্টের নাম দিন এবং Create ক্লিক করুন।
কমান্ড লাইন ব্যবহার করে:
dotnet new webapi -n MyWebApi

২. Controller তৈরি করা

Web API তৈরি করতে হলে আপনাকে একটি Controller তৈরি করতে হবে যা HTTP অনুরোধের জন্য অ্যাকশন মেথড ধারণ করবে। Controller এ [ApiController] অ্যাট্রিবিউট ব্যবহার করা হয়, যা API রাউটিং এবং ইনপুট মডেল ভ্যালিডেশন স্বয়ংক্রিয়ভাবে পরিচালনা করে।

উদাহরণ:

এখানে একটি ProductController তৈরি করা হচ্ছে যা GET এবং POST HTTP রিকোয়েস্ট হ্যান্ডেল করবে।

using Microsoft.AspNetCore.Mvc;

namespace MyWebApi.Controllers
{
    [ApiController]
    [Route("api/[controller]")]
    public class ProductController : ControllerBase
    {
        private static List<Product> products = new List<Product>
        {
            new Product { Id = 1, Name = "Product 1", Price = 100 },
            new Product { Id = 2, Name = "Product 2", Price = 200 }
        };

        // GET api/product
        [HttpGet]
        public IActionResult Get()
        {
            return Ok(products);
        }

        // POST api/product
        [HttpPost]
        public IActionResult Post([FromBody] Product product)
        {
            if (product == null)
            {
                return BadRequest("Product data is null");
            }

            products.Add(product);
            return CreatedAtAction(nameof(Get), new { id = product.Id }, product);
        }
    }
}

এখানে:

  • [Route("api/[controller]")]: রাউটিং কনভেনশন ব্যবহার করা হয়েছে, যা স্বয়ংক্রিয়ভাবে api/product এ নির্দেশ করে।
  • [HttpGet] এবং [HttpPost]: HTTP GET এবং POST মেথডের জন্য অ্যাকশন ডিফাইন করা হয়েছে।
  • CreatedAtAction: POST রিকোয়েস্টের জন্য একটি নতুন প্রোডাক্ট তৈরি করা হলে 201 (Created) HTTP স্ট্যাটাস কোড রিটার্ন করা হবে।
Product মডেল:
public class Product
{
    public int Id { get; set; }
    public string Name { get; set; }
    public decimal Price { get; set; }
}

৩. Routing কনফিগারেশন

ASP.Net Core Web API তে Routing স্বয়ংক্রিয়ভাবে কনফিগার করা হয়। কন্ট্রোলারের অ্যাকশন মেথডের জন্য HTTP অনুরোধের রাউটিং [Route] অ্যাট্রিবিউট দিয়ে করা হয়। এর ফলে নির্দিষ্ট URL প্যাটার্নের মাধ্যমে API অ্যাকশন মেথড কল করা যায়।


৪. Startup.cs ফাইল কনফিগারেশন

ASP.Net Core Web API অ্যাপ্লিকেশনের রাউটিং কনফিগারেশন Startup.cs ফাইলে করা হয়।

ConfigureServices মেথড:
public void ConfigureServices(IServiceCollection services)
{
    services.AddControllers();
}
Configure মেথড:
public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
{
    if (env.IsDevelopment())
    {
        app.UseDeveloperExceptionPage();
    }
    else
    {
        app.UseExceptionHandler("/Home/Error");
        app.UseHsts();
    }

    app.UseHttpsRedirection();
    app.UseRouting();

    app.UseEndpoints(endpoints =>
    {
        endpoints.MapControllers();
    });
}

এখানে MapControllers() মেথডটি অ্যাপ্লিকেশনকে জানায় যে, কন্ট্রোলার রাউটিং কার্যকর করতে হবে।


API ডেটা রিটার্ন এবং HTTP স্ট্যাটাস কোড

ASP.Net Core Web API তে বিভিন্ন HTTP স্ট্যাটাস কোড এবং ডেটা রিটার্ন করার পদ্ধতি রয়েছে। কিছু সাধারণ HTTP স্ট্যাটাস কোড:

  • 200 OK: সফল GET বা POST রিকোয়েস্টের জন্য ব্যবহৃত হয়।
  • 201 Created: POST রিকোয়েস্টের মাধ্যমে একটি রিসোর্স সফলভাবে তৈরি হলে।
  • 400 Bad Request: অনুরোধের ডেটা ভুল হলে।
  • 404 Not Found: অনুরোধকৃত রিসোর্স পাওয়া না গেলে।
  • 500 Internal Server Error: সার্ভারে কোনো সমস্যা হলে।

উদাহরণ: বিভিন্ন HTTP স্ট্যাটাস কোড রিটার্ন

[HttpGet("{id}")]
public IActionResult GetProduct(int id)
{
    var product = products.FirstOrDefault(p => p.Id == id);
    if (product == null)
    {
        return NotFound();  // 404 Not Found
    }

    return Ok(product);  // 200 OK
}

JSON ডেটা রিটার্ন

ASP.Net Core Web API সাধারণত JSON ফরম্যাটে ডেটা রিটার্ন করে, কারণ এটি ওয়েব অ্যাপ্লিকেশন ও মোবাইল অ্যাপ্লিকেশনগুলির মধ্যে ডেটা এক্সচেঞ্জের জন্য একটি জনপ্রিয় ফরম্যাট।

ASP.Net Core স্বয়ংক্রিয়ভাবে JSON কনভার্সন হ্যান্ডল করে। আপনি কোনো মডেল রিটার্ন করলে তা JSON ফরম্যাটে রিটার্ন হবে।

উদাহরণ:

public class ProductController : ControllerBase
{
    [HttpGet]
    public IActionResult GetAllProducts()
    {
        var products = new List<Product>
        {
            new Product { Id = 1, Name = "Product A", Price = 100 },
            new Product { Id = 2, Name = "Product B", Price = 200 }
        };

        return Ok(products); // JSON রিটার্ন হবে
    }
}

এখানে Ok(products) রিটার্ন করলে ডেটা JSON ফরম্যাটে রিটার্ন হবে, যেমন:

[
  {
    "id": 1,
    "name": "Product A",
    "price": 100
  },
  {
    "id": 2,
    "name": "Product B",
    "price": 200
  }
]

সারাংশ

ASP.Net Web API তৈরি করা খুবই সহজ এবং এটি ক্লায়েন্ট-সাইড অ্যাপ্লিকেশন বা অন্য সার্ভিসগুলির জন্য একটি শক্তিশালী ডেটা এক্সচেঞ্জ প্ল্যাটফর্ম হিসেবে কাজ করে। আপনি API কন্ট্রোলার তৈরি করে, বিভিন্ন HTTP মেথডের মাধ্যমে ডেটা এক্সপোজ করতে পারেন এবং JSON ফরম্যাটে ডেটা রিটার্ন করতে পারেন। Web API তৈরি করার জন্য Routing, Controllers, এবং Action Methods এর সঠিক কনফিগারেশন অত্যন্ত গুরুত্বপূর্ণ।

Content added By

Web API কি এবং কেন ব্যবহার করবেন?

1
1

ASP.Net Web API হলো একটি ফ্রেমওয়ার্ক যা আপনাকে HTTP প্রোটোকল ব্যবহার করে ওয়েব সার্ভিস তৈরি করতে সহায়তা করে। এটি বিভিন্ন ধরনের ক্লায়েন্টের সাথে (যেমন, ব্রাউজার, মোবাইল অ্যাপ্লিকেশন, বা ডেক্সটপ অ্যাপ্লিকেশন) ডেটা এক্সচেঞ্জের জন্য ব্যবহৃত হয়। Web API সাধারণত JSON বা XML ফরম্যাটে ডেটা প্রদান করে, যা সহজেই ক্লায়েন্ট সাইডে প্রক্রিয়া করা যায়। এটি বিশেষ করে RESTful আর্কিটেকচার স্টাইল অনুসরণ করে, যা ওয়েব পরিষেবাগুলোর সাথে কাজ করার জন্য একটি সহজ এবং প্রভাবশালী উপায়।


১. ASP.Net Web API কী?

ASP.Net Web API হলো একটি ফ্রেমওয়ার্ক যা ওয়েব সেবার মাধ্যমে HTTP রিকোয়েস্ট এবং রেসপন্সের উপর ভিত্তি করে ডেটা এক্সচেঞ্জ করার জন্য ব্যবহৃত হয়। এটি একটি HTTP ভিত্তিক API, যা প্রধানত RESTful (Representational State Transfer) পরিষেবা সরবরাহ করতে ব্যবহৃত হয়।

Web API সাধারণত JSON, XML, বা অন্য কোনও ফরম্যাটে ডেটা রিটার্ন করে এবং ক্লায়েন্ট সাইডে তা রেন্ডার করতে সহায়তা করে। Web API কন্ট্রোলার HTTP রিকোয়েস্টের ভিত্তিতে কাজ করে এবং প্রয়োজনীয় রেসপন্স প্রদান করে।


২. Web API এর বৈশিষ্ট্য

  • Lightweight এবং Scalable: Web API তুলনামূলকভাবে লাইটওয়েট এবং উচ্চ কার্যকারিতার। এটি বিভিন্ন ধরনের ডিভাইস এবং প্ল্যাটফর্মের জন্য উপযোগী।
  • HTTP প্রোটোকল ব্যবহার: Web API HTTP এর উপর কাজ করে এবং এটি RESTful পদ্ধতিতে ডেটা এক্সচেঞ্জ করতে সক্ষম।
  • JSON/XML সমর্থন: এটি JSON এবং XML ফরম্যাটে ডেটা রিটার্ন করতে সক্ষম, যা মোবাইল এবং ওয়েব অ্যাপ্লিকেশনগুলোর জন্য আদর্শ।
  • Cross-platform সাপোর্ট: Web API এমনভাবে ডিজাইন করা হয়েছে যাতে এটি বিভিন্ন ধরনের ক্লায়েন্ট যেমন মোবাইল অ্যাপ, ওয়েব অ্যাপ, ডেক্সটপ অ্যাপ ইত্যাদি সাপোর্ট করে।

৩. ASP.Net Web API এর মূল উপকারিতা

  1. নেটওয়ার্কের মধ্যে সহজ যোগাযোগ: Web API HTTP প্রোটোকল ব্যবহার করে, যা ইন্টারনেট বা লোকাল নেটওয়ার্কের মধ্যে ডেটা এক্সচেঞ্জ করতে সক্ষম। এটি ওয়েব এবং মোবাইল অ্যাপ্লিকেশনগুলির মধ্যে যোগাযোগ স্থাপন সহজ করে।
  2. ডেটা এক্সচেঞ্জের ফ্লেক্সিবিলিটি: Web API JSON বা XML ফরম্যাটে ডেটা রিটার্ন করতে পারে, যা অনেক ক্লায়েন্ট সাইড অ্যাপ্লিকেশনের জন্য উপযোগী। JSON সাধারণত মোবাইল অ্যাপ্লিকেশন এবং JavaScript অ্যাপ্লিকেশনের জন্য প্রেফার করা হয়।
  3. আধুনিক ওয়েব অ্যাপ্লিকেশন তৈরি: Web API ক্লায়েন্ট-সাইড অ্যাপ্লিকেশনগুলিকে সুবিধাজনকভাবে সার্ভারের সাথে ইন্টারঅ্যাক্ট করার সুযোগ দেয়। উদাহরণস্বরূপ, Single Page Applications (SPA) যেমন Angular, React, বা Vue.js সহজে Web API ব্যবহার করে ডেটা লোড করতে পারে।
  4. CRUD অপারেশন সহজ করা: Web API রিসোর্সের উপর CRUD (Create, Read, Update, Delete) অপারেশন করতে সক্ষম, যা ডেটাবেসের সাথে ইন্টারঅ্যাকশন সহজ করে তোলে। এটি RESTful সেবার ভিত্তিতে সহজেই রিসোর্সের উপর কাজ করতে সহায়তা করে।

৪. কেন ASP.Net Web API ব্যবহার করবেন?

  1. মোবাইল এবং ওয়েব অ্যাপ্লিকেশন ইন্টিগ্রেশন: Web API মোবাইল অ্যাপ্লিকেশন এবং ওয়েব অ্যাপ্লিকেশনগুলির মধ্যে সেন্ট্রালাইজড ডেটা এক্সচেঞ্জ এবং কমিউনিকেশন সহজ করে। এটি বিভিন্ন ডিভাইস এবং প্ল্যাটফর্মের জন্য ডেটা শেয়ার করার একটি আদর্শ পদ্ধতি।
  2. RESTful Web Services: Web API RESTful সেবা প্রদান করতে সহায়তা করে, যা HTTP রিকোয়েস্ট (GET, POST, PUT, DELETE) ভিত্তিক। এটি ওয়েব সেবার উন্নত মান এবং রিসোর্সের অ্যাক্সেস সহজ করে তোলে।
  3. Scalability এবং Performance: Web API একটি হালকা-ফুলকা ফ্রেমওয়ার্ক, যা অ্যাপ্লিকেশনকে স্কেল করার জন্য সহায়ক। এটি আপনার সিস্টেমকে আরও কার্যকর এবং দ্রুত গতির অ্যাপ্লিকেশন তৈরি করতে সাহায্য করে।
  4. Independence from Front-end Technology: Web API কেবল ডেটা প্রদান করে, তাই আপনি যেকোনো ফ্রন্ট-এন্ড প্রযুক্তি (যেমন, Angular, React, Vue.js, ইত্যাদি) ব্যবহার করে ডেটা গ্রহন করতে পারেন। ফলে ফ্রন্ট-এন্ড এবং ব্যাক-এন্ডের মধ্যে স্বাধীনতা বজায় থাকে।
  5. Lightweight Communication: Web API সার্ভার এবং ক্লায়েন্টের মধ্যে মাত্রিক এবং সহজ যোগাযোগ স্থাপন করে। এতে অতিরিক্ত যেকোনো প্রকারের ভারী লোড বা কমপ্লেক্সিটি থাকে না, যা পারফরম্যান্সের জন্য অত্যন্ত সুবিধাজনক।

৫. ASP.Net Web API এর ব্যবহার ক্ষেত্র

  • মোবাইল অ্যাপ্লিকেশন: Web API মোবাইল অ্যাপ্লিকেশনের সাথে ডেটা এক্সচেঞ্জ করার জন্য ব্যবহৃত হয়। মোবাইল অ্যাপ্লিকেশন HTTP রিকোয়েস্টের মাধ্যমে Web API সার্ভিস ব্যবহার করে সার্ভারের সাথে যোগাযোগ করতে পারে।
  • Single Page Applications (SPA): Web API SPAs এর সাথে কাজ করতে সক্ষম, যেখানে জাভাস্ক্রিপ্ট ফ্রেমওয়ার্ক (Angular, React) সার্ভার থেকে ডেটা রিটার্ন করতে Web API কল করতে পারে।
  • Third-Party ইন্টিগ্রেশন: অন্য সিস্টেম বা অ্যাপ্লিকেশনগুলির সাথে ইন্টিগ্রেশন করতে Web API ব্যবহার করা হয়। উদাহরণস্বরূপ, পেমেন্ট গেটওয়ে বা সামাজিক মিডিয়া অ্যাপ্লিকেশন।
  • IoT ডিভাইস: IoT ডিভাইসের মধ্যে ডেটা ট্রান্সফার এবং এক্সচেঞ্জ করতে Web API ব্যবহৃত হয়, যেখানে বিভিন্ন সেন্সর বা ডিভাইস HTTP রিকোয়েস্ট পাঠায়।

ASP.Net Web API এমন একটি শক্তিশালী টুল যা আধুনিক ওয়েব অ্যাপ্লিকেশন এবং মোবাইল অ্যাপ্লিকেশনের মধ্যে ডেটা এক্সচেঞ্জের জন্য একটি আদর্শ সমাধান প্রদান করে। এটি সিম্পল, ফ্লেক্সিবল এবং স্কেলেবল, যা ডেভেলপারদের দ্রুত এবং কার্যকর সেবা তৈরি করতে সাহায্য করে।

Content added By

Web API এবং MVC এর মধ্যে পার্থক্য

1
1

ASP.Net MVC (Model-View-Controller) এবং Web API (Application Programming Interface) হল দুইটি জনপ্রিয় আর্কিটেকচারাল প্যাটার্ন, যেগুলো ASP.Net প্ল্যাটফর্মে ওয়েব অ্যাপ্লিকেশন তৈরি করতে ব্যবহৃত হয়। যদিও এদের মধ্যে কিছু মিল রয়েছে, তবে তাদের উদ্দেশ্য, ব্যবহার এবং কার্যক্রমে কিছু গুরুত্বপূর্ণ পার্থক্যও রয়েছে।

নিচে ASP.Net MVC এবং Web API এর মধ্যে প্রধান পার্থক্যগুলো বিস্তারিতভাবে আলোচনা করা হলো:


১. উদ্দেশ্য (Purpose)

  • ASP.Net MVC: MVC একটি ওয়েব অ্যাপ্লিকেশন আর্কিটেকচার যা মূলত HTML পেজ রেন্ডার এবং UI (User Interface) পরিচালনা করতে ব্যবহৃত হয়। এটি Views ব্যবহার করে UI রেন্ডার করে, এবং Controllers এর মাধ্যমে HTTP রিকোয়েস্ট হ্যান্ডল করে।
  • ASP.Net Web API: Web API মূলত HTTP রিকোয়েস্ট এর মাধ্যমে ডেটা এক্সপোজ করার জন্য ব্যবহৃত হয়। এটি RESTful (Representational State Transfer) সার্ভিস প্রদান করতে বিশেষভাবে ডিজাইন করা হয়েছে, যেখানে ডেটা XML, JSON, বা অন্য ফরম্যাটে সার্ভিস রেসপন্স হিসেবে প্রদান করা হয়।

২. রিটার্ন টাইপ (Return Type)

  • ASP.Net MVC: MVC অ্যাপ্লিকেশন Views (HTML ফাইল) রিটার্ন করে, যা ব্রাউজারে রেন্ডার হয়ে একটি UI হিসেবে প্রদর্শিত হয়। এছাড়া, MVC অ্যাকশনের মাধ্যমে JSON বা XML ফরম্যাটে ডেটা রিটার্ন করা সম্ভব, কিন্তু এটি মূলত UI রেন্ডারিং এর জন্য ডিজাইন করা হয়েছে।
  • ASP.Net Web API: Web API অ্যাকশনগুলো মূলত JSON, XML, বা Plain Text ফরম্যাটে ডেটা রিটার্ন করে, যা ক্লায়েন্ট অ্যাপ্লিকেশন (যেমন, মোবাইল অ্যাপ বা JavaScript ফ্রন্ট-এন্ড) দ্বারা প্রোসেস করা যায়।

৩. ডেটা প্রেরণ (Data Transmission)

  • ASP.Net MVC: MVC প্রধানত Web Pages রেন্ডার করার জন্য ব্যবহৃত হয়, যেখানে ব্যবহারকারীর ইন্টারঅ্যাকশন ঘটলে রেসপন্স হিসেবে HTML পেজ প্রদান করা হয়। তবে, AJAX বা JavaScript ব্যবহার করে ডেটা অ্যাসিনক্রোনাসলি সার্ভারে পাঠানো সম্ভব।
  • ASP.Net Web API: Web API প্রাথমিকভাবে JSON বা XML ফরম্যাটে ডেটা এক্সপোজ করতে ব্যবহৃত হয়, যা client-server communication বা মোবাইল অ্যাপ্লিকেশন, AJAX বা অন্য API কলের মাধ্যমে ডেটা পাঠানোর জন্য ব্যবহার হয়।

৪. রাউটিং (Routing)

  • ASP.Net MVC: MVC এ রাউটিং প্রধানত controller/action এর মাধ্যমে কাজ করে। উদাহরণস্বরূপ, /Home/IndexHomeController এর Index অ্যাকশন মেথড রান করবে।
  • ASP.Net Web API: Web API তে রাউটিং HTTP Methods (GET, POST, PUT, DELETE) এবং URI (Uniform Resource Identifier) এর ভিত্তিতে কাজ করে। উদাহরণস্বরূপ, /api/products রাউটটি GET অথবা POST রিকোয়েস্ট হ্যান্ডল করতে পারে।

৫. HTTP Method Support (HTTP Methods এর সমর্থন)

  • ASP.Net MVC: MVC ফ্রেমওয়ার্কে সাধারণত GET, POST, PUT, DELETE ইত্যাদি HTTP Methods সমর্থিত, কিন্তু সেগুলি সাধারণত ফর্ম সাবমিশন এবং পেজ রেন্ডারিং এর সাথে সম্পর্কিত থাকে।
  • ASP.Net Web API: Web API মূলত GET, POST, PUT, DELETE HTTP Methods এর জন্য ডিজাইন করা হয়েছে, যেখানে প্রতিটি HTTP Method সার্ভার সাইডে পৃথকভাবে অ্যাকশন মেথড হিসেবে ম্যাপ হয় এবং ডেটার CRUD অপারেশন পরিচালনা করে।

৬. State Management (স্টেট ম্যানেজমেন্ট)

  • ASP.Net MVC: MVC অ্যাপ্লিকেশন সাধারণত Stateful থাকে, অর্থাৎ, এটি ক্লায়েন্টের সেশন এবং কুকিজের মাধ্যমে ডেটা সংরক্ষণ করতে পারে। এটি ইন্টারফেস রেন্ডারিং এবং ব্যবহারকারীর ইন্টারঅ্যাকশনকে ট্র্যাক করতে সহায়তা করে।
  • ASP.Net Web API: Web API মূলত Stateless। এর মানে হল যে, প্রতি HTTP রিকোয়েস্ট এবং রেসপন্স সম্পূর্ণ স্বাধীন এবং একে অপরের থেকে কোনো তথ্য শেয়ার করা হয় না। সার্ভার রিকোয়েস্টের মধ্যেই ডেটা প্রোসেসিং করে এবং রেসপন্স ফেরত পাঠায়।

৭. UI Rendering (UI রেন্ডারিং)

  • ASP.Net MVC: MVC ফ্রেমওয়ার্কের মূল লক্ষ্য হল UI রেন্ডার করা, অর্থাৎ Views এর মাধ্যমে ব্যবহারকারীর ইন্টারফেস তৈরি করা। MVC অ্যাপ্লিকেশন মূলত HTML, CSS এবং JavaScript ব্যবহার করে UI তৈরি করে।
  • ASP.Net Web API: Web API মূলত UI রেন্ডার করার জন্য ডিজাইন করা হয়নি। এটি ডেটা এক্সপোজ করতে এবং ক্লায়েন্ট অ্যাপ্লিকেশনগুলোর সাথে যোগাযোগের জন্য ব্যবহৃত হয়।

৮. ব্যবহার (Usage)

  • ASP.Net MVC: যদি আপনি একটি সম্পূর্ণ ওয়েব অ্যাপ্লিকেশন তৈরি করতে চান যেখানে ব্যবহারকারী ইন্টারফেস এবং রেন্ডারিং গুরুত্বপূর্ণ, তাহলে ASP.Net MVC ব্যবহার করা হবে। এটি ওয়েব পেজ রেন্ডার এবং ইউজার ইন্টারঅ্যাকশন পরিচালনায় সহায়তা করে।
  • ASP.Net Web API: যদি আপনি একটি RESTful API তৈরি করতে চান যা একাধিক ক্লায়েন্ট অ্যাপ্লিকেশন যেমন মোবাইল অ্যাপ, SPA (Single Page Application), বা অন্যান্য ওয়েব অ্যাপ্লিকেশনের সাথে ডেটা শেয়ার করতে সক্ষম হয়, তাহলে ASP.Net Web API সেরা পছন্দ।

সারাংশ

  • ASP.Net MVC মূলত ওয়েব পেজ রেন্ডারিং এবং ইউজার ইন্টারফেস (UI) তৈরি করার জন্য ব্যবহৃত হয়।
  • ASP.Net Web API মূলত ডেটা এক্সপোজ এবং ক্লায়েন্ট-সার্ভার কমিউনিকেশন পরিচালনা করার জন্য ব্যবহৃত হয়।
  • MVC ফ্রেমওয়ার্কে রাউটিং এবং ভিউ রেন্ডারিং এর মাধ্যমে UI তৈরি করা হয়, যেখানে Web API শুধুমাত্র ডেটা হ্যান্ডলিং ও ট্রান্সমিশনের কাজ করে।

ASP.Net MVC এবং Web API দুটোই শক্তিশালী টুল, তবে তাদের ব্যবহারের উদ্দেশ্য ও প্রেক্ষিত আলাদা।

Content added By

RESTful API তৈরি করা

1
1

ASP.Net Core এ RESTful API তৈরি করা একটি সাধারণ প্রক্রিয়া, যা HTTP প্রোটোকল ব্যবহার করে ক্লায়েন্ট এবং সার্ভারের মধ্যে ডেটা আদান-প্রদান নিশ্চিত করে। REST (Representational State Transfer) হল একটি আর্কিটেকচারাল স্টাইল, যা HTTP মেথড (GET, POST, PUT, DELETE) ব্যবহার করে রিসোর্সের উপর অপারেশন সম্পাদন করতে দেয়।


১. RESTful API কী?

RESTful API একটি ওয়েব সার্ভিস যা HTTP মেথডের মাধ্যমে বিভিন্ন রিসোর্সের উপর কাজ করে। RESTful API সাধারণত:

  • GET: ডেটা নিয়ে আসার জন্য
  • POST: নতুন ডেটা তৈরি করার জন্য
  • PUT: বিদ্যমান ডেটা আপডেট করার জন্য
  • DELETE: ডেটা মুছে ফেলার জন্য

একটি RESTful API ডিজাইন করার জন্য নিম্নলিখিত সুবিধাসমূহ নিশ্চিত করতে হয়:

  • Stateless: প্রতিটি রিকোয়েস্ট সম্পূর্ণভাবে স্বাধীন এবং আগের রিকোয়েস্টের উপর নির্ভর করে না।
  • Resource-based: প্রতিটি API রিকোয়েস্ট একটি রিসোর্সকে টার্গেট করে (যেমন ইউজার, প্রোডাক্ট ইত্যাদি)।
  • JSON or XML: API সাধারণত JSON বা XML ফরম্যাটে ডেটা ফেরত দেয়।

২. ASP.Net Core এ RESTful API তৈরি করা

ASP.Net Core ব্যবহার করে একটি সিম্পল RESTful API তৈরি করা খুবই সহজ। নিচে একটি উদাহরণ দেখানো হলো যেখানে একটি Product রিসোর্স তৈরি করা হবে এবং CRUD অপারেশন সম্পাদন করা হবে।

২.১. ASP.Net Core API প্রজেক্ট তৈরি করা

  1. Visual Studio বা .NET CLI ব্যবহার করে একটি নতুন ASP.Net Core API প্রজেক্ট তৈরি করুন।
    • .NET CLI:

      dotnet new webapi -n ProductApi
      
  2. প্রজেক্টে প্রয়োজনীয় প্যাকেজ ইনস্টল করুন:
    • Microsoft.EntityFrameworkCore প্যাকেজ ইনস্টল করতে পারেন ডাটাবেসের সাথে ইন্টিগ্রেশন করার জন্য।
    • Swashbuckle.AspNetCore প্যাকেজ ইনস্টল করলে আপনি Swagger UI ব্যবহার করে API ডকুমেন্টেশন তৈরি করতে পারবেন।

২.২. মডেল তৈরি করা

প্রথমে একটি Product মডেল তৈরি করতে হবে, যা API এ ব্যবহৃত হবে।

public class Product
{
    public int Id { get; set; }
    public string Name { get; set; }
    public decimal Price { get; set; }
}

২.৩. ডাটাবেস কনটেক্সট তৈরি করা

DbContext ক্লাস তৈরি করে ডাটাবেসে রিসোর্স (এখানে Product) ব্যবস্থাপনা করা হয়।

using Microsoft.EntityFrameworkCore;

public class AppDbContext : DbContext
{
    public AppDbContext(DbContextOptions<AppDbContext> options) : base(options) { }

    public DbSet<Product> Products { get; set; }
}

২.৪. API কন্ট্রোলার তৈরি করা

এখন একটি API কন্ট্রোলার তৈরি করতে হবে, যা HTTP রিকোয়েস্টের জন্য ব্যবহৃত হবে। কন্ট্রোলারটি ControllerBase ক্লাসের মাধ্যমে API রুটিন পরিচালনা করবে।

using Microsoft.AspNetCore.Mvc;
using Microsoft.EntityFrameworkCore;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;

[Route("api/[controller]")]
[ApiController]
public class ProductsController : ControllerBase
{
    private readonly AppDbContext _context;

    public ProductsController(AppDbContext context)
    {
        _context = context;
    }

    // GET: api/products
    [HttpGet]
    public async Task<ActionResult<IEnumerable<Product>>> GetProducts()
    {
        return await _context.Products.ToListAsync();
    }

    // GET: api/products/5
    [HttpGet("{id}")]
    public async Task<ActionResult<Product>> GetProduct(int id)
    {
        var product = await _context.Products.FindAsync(id);

        if (product == null)
        {
            return NotFound();
        }

        return product;
    }

    // POST: api/products
    [HttpPost]
    public async Task<ActionResult<Product>> PostProduct(Product product)
    {
        _context.Products.Add(product);
        await _context.SaveChangesAsync();

        return CreatedAtAction("GetProduct", new { id = product.Id }, product);
    }

    // PUT: api/products/5
    [HttpPut("{id}")]
    public async Task<IActionResult> PutProduct(int id, Product product)
    {
        if (id != product.Id)
        {
            return BadRequest();
        }

        _context.Entry(product).State = EntityState.Modified;

        try
        {
            await _context.SaveChangesAsync();
        }
        catch (DbUpdateConcurrencyException)
        {
            if (!_context.Products.Any(e => e.Id == id))
            {
                return NotFound();
            }
            else
            {
                throw;
            }
        }

        return NoContent();
    }

    // DELETE: api/products/5
    [HttpDelete("{id}")]
    public async Task<ActionResult<Product>> DeleteProduct(int id)
    {
        var product = await _context.Products.FindAsync(id);
        if (product == null)
        {
            return NotFound();
        }

        _context.Products.Remove(product);
        await _context.SaveChangesAsync();

        return product;
    }
}

২.৫. Startup.cs কনফিগারেশন

Startup.cs ফাইলের মধ্যে API কনফিগারেশন এবং ডাটাবেস কনটেক্সট পরিষেবা যোগ করুন।

public class Startup
{
    public void ConfigureServices(IServiceCollection services)
    {
        services.AddDbContext<AppDbContext>(options =>
            options.UseInMemoryDatabase("ProductDb")); // In-memory database
        services.AddControllers();
    }

    public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
    {
        if (env.IsDevelopment())
        {
            app.UseDeveloperExceptionPage();
        }

        app.UseRouting();

        app.UseEndpoints(endpoints =>
        {
            endpoints.MapControllers();
        });
    }
}

২.৬. API রিকোয়েস্ট এবং রেসপন্স

এই কন্ট্রোলার এখন GET, POST, PUT, এবং DELETE HTTP মেথডগুলোকে সাপোর্ট করবে:

  • GET /api/products: সমস্ত প্রোডাক্টের তালিকা ফেরত দেয়।
  • GET /api/products/{id}: একটি নির্দিষ্ট প্রোডাক্ট ফিরিয়ে দেয়।
  • POST /api/products: একটি নতুন প্রোডাক্ট তৈরি করে।
  • PUT /api/products/{id}: একটি প্রোডাক্ট আপডেট করে।
  • DELETE /api/products/{id}: একটি প্রোডাক্ট মুছে ফেলে।

৩. Swagger UI (ডকুমেন্টেশন)

API এর জন্য ডকুমেন্টেশন এবং পরীক্ষা করার সুবিধা দিতে Swagger ব্যবহার করা হয়। Swashbuckle.AspNetCore প্যাকেজটি ইনস্টল করলে Swagger UI স্বয়ংক্রিয়ভাবে তৈরি হয়ে যাবে।

  1. NuGet Package Manager থেকে Swashbuckle.AspNetCore প্যাকেজ ইনস্টল করুন।
  2. Startup.cs এ Swagger কনফিগার করুন:
public void ConfigureServices(IServiceCollection services)
{
    services.AddSwaggerGen();
}

public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
{
    if (env.IsDevelopment())
    {
        app.UseSwagger();
        app.UseSwaggerUI(c => c.SwaggerEndpoint("/swagger/v1/swagger.json", "ProductApi v1"));
    }
}

এখন আপনি http://localhost:5000/swagger URL দিয়ে Swagger UI তে API পরীক্ষা করতে পারবেন।


সারাংশ

ASP.Net Core দিয়ে একটি RESTful API তৈরি করতে, আপনাকে প্রথমে একটি মডেল এবং ডাটাবেস কনটেক্সট তৈরি করতে হয়। এরপর, একটি কন্ট্রোলার তৈরি করে HTTP রিকোয়েস্টগুলোর জন্য রুট এবং মেথডগুলো কনফিগার করতে হয়। Swagger UI ব্যবহার করে API ডকুমেন্টেশন এবং পরীক্ষা করা সহজ।

Content added By

API Routing এবং HTTP Methods

1
1

ASP.Net এ API Routing এবং HTTP Methods মূলত Web API এর জন্য ব্যবহৃত হয়। API Routing হল সেই প্রক্রিয়া যার মাধ্যমে একটি HTTP রিকোয়েস্ট নির্দিষ্ট কন্ট্রোলার ও অ্যাকশন মেথডে রুট করে এবং HTTP Methods (GET, POST, PUT, DELETE, ইত্যাদি) ব্যবহারকারী এবং সার্ভারের মধ্যে তথ্যের আদান-প্রদান পরিচালনা করে। এখানে, আমরা ASP.Net Web API এবং ASP.Net Core API তে API Routing এবং HTTP Methods এর ব্যাখ্যা প্রদান করব।


API Routing কী?

API Routing হল সেই প্রক্রিয়া যার মাধ্যমে রিকোয়েস্ট URL কে কন্ট্রোলার এবং অ্যাকশন মেথডের সাথে মেলানো হয়। ASP.Net এর মধ্যে Routing প্রক্রিয়া কন্ট্রোলারের মেথডে রিকোয়েস্ট পাঠানোর জন্য ব্যবহার করা হয়, এবং API এ সাধারণত এই রাউটিং কনফিগার করা হয় Route Attributes অথবা Route Templates এর মাধ্যমে।

ASP.Net Core API তে Attribute Routing এবং Convention-based Routing উভয়ই সমর্থিত।


১. Attribute Routing (ASP.Net Core API)

ASP.Net Core API তে Attribute Routing ব্যবহার করা হয়, যেখানে রাউটিং কনফিগারেশন কন্ট্রোলারের অ্যাকশন মেথডের উপরই নির্ভর করে। এটি URL প্যাটার্ন নির্দিষ্ট করার জন্য সহজ এবং পরিষ্কার উপায়।

উদাহরণ: Attribute Routing

[Route("api/[controller]")]
[ApiController]
public class ProductsController : ControllerBase
{
    // GET api/products
    [HttpGet]
    public IActionResult GetProducts()
    {
        return Ok(new { message = "Getting all products" });
    }

    // GET api/products/5
    [HttpGet("{id}")]
    public IActionResult GetProduct(int id)
    {
        return Ok(new { message = $"Getting product with ID: {id}" });
    }

    // POST api/products
    [HttpPost]
    public IActionResult CreateProduct([FromBody] Product product)
    {
        return CreatedAtAction(nameof(GetProduct), new { id = product.Id }, product);
    }

    // PUT api/products/5
    [HttpPut("{id}")]
    public IActionResult UpdateProduct(int id, [FromBody] Product product)
    {
        return Ok(new { message = $"Updating product with ID: {id}" });
    }

    // DELETE api/products/5
    [HttpDelete("{id}")]
    public IActionResult DeleteProduct(int id)
    {
        return Ok(new { message = $"Deleting product with ID: {id}" });
    }
}

এখানে, Route("api/[controller]") এর মাধ্যমে ProductsController কন্ট্রোলারের সমস্ত রিকোয়েস্ট /api/products রুটে যাবে। এবং প্রতিটি HTTP Method (GET, POST, PUT, DELETE) এর জন্য আলাদা রাউট নির্দিষ্ট করা হয়েছে।


২. Convention-based Routing (ASP.Net MVC/Web API)

Convention-based Routing ASP.Net MVC/Web API তে ব্যবহৃত হয়, যেখানে রাউটিং কনফিগারেশন RouteConfig.cs ফাইলে করা হয়। এখানে রাউটিং নিয়ম অনুযায়ী URL এবং কন্ট্রোলার একে অপরের সাথে মেলানো হয়।

উদাহরণ: Convention-based Routing (ASP.Net Web API)

public class WebApiConfig
{
    public static void Register(HttpConfiguration config)
    {
        // Conventional Routing
        config.MapHttpAttributeRoutes();

        config.Routes.MapHttpRoute(
            name: "DefaultApi",
            routeTemplate: "api/{controller}/{id}",
            defaults: new { id = RouteParameter.Optional }
        );
    }
}

এখানে, MapHttpRoute পদ্ধতি দিয়ে রাউটিং কনফিগার করা হয়েছে। URL এর মধ্যে {controller} এবং {id} এর মাধ্যমে কন্ট্রোলার এবং আইডি নির্দিষ্ট করা হয়েছে।


HTTP Methods (GET, POST, PUT, DELETE)

HTTP Methods হল HTTP প্রটোকলের বিভিন্ন কমান্ড, যেগুলি সার্ভার এবং ক্লায়েন্টের মধ্যে তথ্য আদান-প্রদান নিয়ন্ত্রণ করে। Web API তে সাধারণত নিচের HTTP Methods গুলি ব্যবহৃত হয়:


১. GET Method

GET হল সবচেয়ে সাধারণ HTTP মেথড, যেটি শুধুমাত্র ডেটা রিট্রিভ (আবশ্যক ডেটা পাওয়া) করার জন্য ব্যবহৃত হয়। এটি সার্ভার থেকে তথ্য পেতে ক্লায়েন্টের রিকোয়েস্ট পাঠায়।

উদাহরণ: GET Method

[HttpGet]
public IActionResult GetProducts()
{
    var products = productService.GetAllProducts();
    return Ok(products);  // 200 OK response with product list
}

২. POST Method

POST মেথড ব্যবহার করা হয় নতুন তথ্য বা রিসোর্স সার্ভারে পাঠানোর জন্য। এটি সাধারণত ডেটা সাবমিট করার জন্য ব্যবহৃত হয়, যেমন ফর্ম সাবমিট বা নতুন রেকর্ড তৈরি।

উদাহরণ: POST Method

[HttpPost]
public IActionResult CreateProduct([FromBody] Product product)
{
    var createdProduct = productService.AddProduct(product);
    return CreatedAtAction(nameof(GetProduct), new { id = createdProduct.Id }, createdProduct);
}

এখানে, ক্লায়েন্ট একটি POST রিকোয়েস্ট পাঠাচ্ছে যা সার্ভারে নতুন প্রোডাক্ট তৈরি করবে।


৩. PUT Method

PUT মেথড ব্যবহার করা হয় একটি রিসোর্স সম্পূর্ণভাবে আপডেট (replace) করতে। এটি সাধারণত ফুল-রেকর্ড বা প্রোডাক্ট আপডেট করার জন্য ব্যবহৃত হয়।

উদাহরণ: PUT Method

[HttpPut("{id}")]
public IActionResult UpdateProduct(int id, [FromBody] Product product)
{
    var updatedProduct = productService.UpdateProduct(id, product);
    return Ok(updatedProduct);  // 200 OK with updated product
}

৪. DELETE Method

DELETE মেথড ব্যবহার করা হয় রিসোর্স বা ডেটা মুছে ফেলার জন্য। এটি একটি রিকোয়েস্ট পাঠায় যাতে সার্ভার নির্দিষ্ট একটি রিসোর্স (যেমন, ডেটাবেজের রেকর্ড) মুছে ফেলে।

উদাহরণ: DELETE Method

[HttpDelete("{id}")]
public IActionResult DeleteProduct(int id)
{
    productService.DeleteProduct(id);
    return NoContent();  // 204 No Content, indicating that the resource has been deleted
}

সারাংশ

  • API Routing হল প্রক্রিয়া যার মাধ্যমে HTTP রিকোয়েস্ট কন্ট্রোলার এবং অ্যাকশন মেথডের সাথে সংযুক্ত হয়।
  • Attribute Routing এবং Convention-based Routing উভয়ই ASP.Net এবং ASP.Net Core এ ব্যবহৃত হয়।
  • HTTP Methods (GET, POST, PUT, DELETE) Web API তে তথ্য আদান-প্রদান এবং রিসোর্স পরিচালনা করতে ব্যবহৃত হয়।

এগুলো ব্যবহার করে আপনি API রিকোয়েস্ট ঠিকমত রুট করতে এবং HTTP Methods দ্বারা ডেটা পরিচালনা করতে পারবেন।

Content added By

Web API এর মাধ্যমে ডেটা আদান-প্রদান

2
2

ASP.Net Core Web API একটি শক্তিশালী ফ্রেমওয়ার্ক যা ক্লায়েন্ট (যেমন ওয়েব ব্রাউজার, মোবাইল অ্যাপ, বা অন্য কোনো সার্ভিস) এবং সার্ভারের মধ্যে ডেটা আদান-প্রদান করতে ব্যবহৃত হয়। Web API সাধারণত HTTP প্রোটোকল ব্যবহার করে ডেটা পাঠায় এবং গ্রহণ করে। এটি JSON বা XML ফরম্যাটে ডেটা আদান-প্রদান করে।

ASP.Net Core Web API এর মাধ্যমে ডেটা আদান-প্রদান করতে হলে কিছু সাধারণ ধাপ অনুসরণ করতে হয়:

  1. Web API কন্ট্রোলার তৈরি করা
  2. HTTP মেথড (GET, POST, PUT, DELETE) ব্যবহার করে ডেটা আদান-প্রদান করা
  3. Request এবং Response এর জন্য মডেল তৈরি করা

Web API কন্ট্রোলার তৈরি করা

ASP.Net Core অ্যাপ্লিকেশনে Web API কন্ট্রোলার তৈরি করতে হলে, আপনাকে কন্ট্রোলারে ApiController অ্যাট্রিবিউট ব্যবহার করতে হবে। এটি API-কে RESTful কনভেনশন অনুযায়ী পরিচালনা করতে সহায়তা করে।

কন্ট্রোলার তৈরি করা

using Microsoft.AspNetCore.Mvc;
using System.Collections.Generic;

namespace MyApp.Controllers
{
    [Route("api/[controller]")]
    [ApiController]
    public class ProductsController : ControllerBase
    {
        private static List<string> products = new List<string> { "Product 1", "Product 2", "Product 3" };

        // GET: api/products
        [HttpGet]
        public ActionResult<IEnumerable<string>> Get()
        {
            return Ok(products); // সমস্ত প্রোডাক্টের তালিকা রিটার্ন করা
        }

        // GET: api/products/1
        [HttpGet("{id}")]
        public ActionResult<string> Get(int id)
        {
            if (id < 0 || id >= products.Count)
            {
                return NotFound(); // ফাইল না পেলে 404 রিটার্ন
            }

            return Ok(products[id]); // নির্দিষ্ট প্রোডাক্ট রিটার্ন করা
        }

        // POST: api/products
        [HttpPost]
        public ActionResult Post([FromBody] string product)
        {
            products.Add(product);
            return CreatedAtAction(nameof(Get), new { id = products.Count - 1 }, product); // নতুন প্রোডাক্ট তৈরি করা
        }

        // PUT: api/products/1
        [HttpPut("{id}")]
        public ActionResult Put(int id, [FromBody] string product)
        {
            if (id < 0 || id >= products.Count)
            {
                return NotFound();
            }

            products[id] = product;
            return NoContent(); // কোনো কন্টেন্ট রিটার্ন না করে 204 রিটার্ন করা
        }

        // DELETE: api/products/1
        [HttpDelete("{id}")]
        public ActionResult Delete(int id)
        {
            if (id < 0 || id >= products.Count)
            {
                return NotFound();
            }

            products.RemoveAt(id);
            return NoContent(); // সফলভাবে মুছে ফেলার পরে 204 রিটার্ন করা
        }
    }
}

এখানে:

  • HttpGet, HttpPost, HttpPut, এবং HttpDelete অ্যাট্রিবিউটগুলো HTTP মেথডগুলোর সাথে মিলে কাজ করে।
  • ActionResult রিটার্ন টাইপটি ব্যবহারকারীর রিকোয়েস্টের সাথে সঠিক HTTP রেসপন্স কড (যেমন 200, 201, 404, 204) রিটার্ন করতে সাহায্য করে।

Request এবং Response এর জন্য মডেল তৈরি করা

কিছু ক্ষেত্রে, ডেটা আদান-প্রদান করতে হলে আপনাকে একটি মডেল তৈরি করতে হতে পারে, যেটি Request এবং Response এর ডেটা স্ট্রাকচার নির্ধারণ করবে।

মডেল ক্লাস তৈরি করা

public class Product
{
    public int Id { get; set; }
    public string Name { get; set; }
    public decimal Price { get; set; }
}

এখন এই মডেল ক্লাসটি API কন্ট্রোলারে ব্যবহার করতে পারবেন।

[HttpPost]
public ActionResult Post([FromBody] Product product)
{
    products.Add(product.Name); // প্রোডাক্টের নাম যোগ করা
    return CreatedAtAction(nameof(Get), new { id = products.Count - 1 }, product); 
}

এখানে, Product মডেলটি JSON ফরম্যাটে Request Body থেকে ডেটা রিসিভ করতে ব্যবহৃত হচ্ছে এবং এটি API-এ পাঠানো ডেটার স্ট্রাকচার নির্ধারণ করছে।


ASP.Net Core Web API কনফিগারেশন

ASP.Net Core অ্যাপ্লিকেশন সেটআপের সময় Startup.cs ফাইলে কিছু কনফিগারেশন করতে হয়, যেমন Web API সেবা নিবন্ধন এবং রাউটিং কনফিগারেশন।

Startup.cs এ কনফিগারেশন করা

public void ConfigureServices(IServiceCollection services)
{
    services.AddControllers(); // Web API কন্ট্রোলার সেবা রেজিস্টার করা
}

public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
{
    if (env.IsDevelopment())
    {
        app.UseDeveloperExceptionPage();
    }
    else
    {
        app.UseExceptionHandler("/Home/Error");
        app.UseHsts();
    }

    app.UseRouting();

    // Web API রাউটিং কনফিগার করা
    app.UseEndpoints(endpoints =>
    {
        endpoints.MapControllers(); // কন্ট্রোলার রাউটিং
    });
}

এখানে, AddControllers() মেথডটি Web API কন্ট্রোলারের জন্য সেবা নিবন্ধন করে এবং MapControllers() মেথডটি কন্ট্রোলারগুলোর রাউটিং পরিচালনা করে।


ফ্রন্টএন্ড থেকে Web API কল করা

Web API-তে ডেটা পাঠাতে এবং গ্রহণ করতে সাধারণত HTTP Client বা জাভাস্ক্রিপ্টের Fetch API ব্যবহার করা হয়। এখানে একটি উদাহরণ দেখানো হল কিভাবে ফ্রন্টএন্ড থেকে ASP.Net Core Web API কল করা যায়।

JavaScript দিয়ে API কল

fetch('https://localhost:5001/api/products')
    .then(response => response.json())
    .then(data => console.log(data))
    .catch(error => console.error('Error:', error));

HTTP Client (C#) দিয়ে API কল

using System.Net.Http;
using System.Threading.Tasks;

public class ProductService
{
    private readonly HttpClient _httpClient;

    public ProductService(HttpClient httpClient)
    {
        _httpClient = httpClient;
    }

    public async Task GetProducts()
    {
        var response = await _httpClient.GetAsync("https://localhost:5001/api/products");
        var products = await response.Content.ReadAsStringAsync();
        Console.WriteLine(products);
    }
}

এখানে, HttpClient ব্যবহার করে ASP.Net Core Web API এর GET রিকোয়েস্ট পাঠানো হচ্ছে এবং JSON ডেটা রিটার্ন করা হচ্ছে।


সারাংশ

ASP.Net Core Web API ব্যবহারের মাধ্যমে আপনি সার্ভার ও ক্লায়েন্টের মধ্যে ডেটা সহজে আদান-প্রদান করতে পারবেন। API কন্ট্রোলার, HTTP মেথড (GET, POST, PUT, DELETE), এবং ফ্রন্টএন্ড থেকে HTTP কলের মাধ্যমে আপনি সম্পূর্ণ রিসোর্সের ওপর CRUD অপারেশন করতে সক্ষম হবেন। Web API তৈরি করা সহজ এবং এটি মডার্ন ওয়েব অ্যাপ্লিকেশন ও মোবাইল অ্যাপ্লিকেশন ডেভেলপমেন্টের জন্য অত্যন্ত কার্যকর।

Content added By
Promotion